import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Main1 {
    public static void main(String[] args) {
        //控制台输入若干个学生的姓名及所在系，并统计各系的学生人数。
        Scanner scanner=new Scanner(System.in);
        Map<String,String> map=new HashMap<>();
        String s1;//系
        String s2;//学生名
        int choice=1;//为1则继续输入
        while (choice==1){//持续输入若干系
            System.out.println("请输入系名:");
            s1=scanner.next();
            System.out.println("请输入学生名称:");
            s2=scanner.next();
            //放入map集合中
            if(!map.containsKey(s1)){//如果系没有存储过
                map.put(s1,s2);//就放入
            }else {//如果系名存在,则连接两次名字放入
                map.put(s1,map.get(s1)+","+s2);//字符串拼接
            }
            System.out.println("1:继续输入 0:退出");
            choice=scanner.nextInt();
        }
        //解决人数问题
        Set<String> set=map.keySet();//得到所有的键
       for(String s:set){//遍历所有的key对于的value,并且以 "," 分割得到数组,人数即为数组长度
           int num= map.get(s).split(",").length;//获取具体人数,即分割后的数组大小
           map.put(s,(num+"人,"+map.get(s)));//添加人数拼接到value中
       }
       ////遍历输出
        Set<Map.Entry<String,String>> entries =map.entrySet();
        for (Map.Entry<String,String> entry:entries){
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }
}
